#include "client_funcs.h"

/// <summary>
/// 程序的主要工作应放在该函数内，获取权限后执行
/// </summary>
void do_regular_work() {
	cout << "获得绝区零降噪测试资格-正在运行程序" << endl;
	Sleep(10000);	//睡个10s，模拟程序执行到一定步骤
	if (validate_ticket() == 1) {	//验证票据，如果验证失败
		if (get_ticket() != 0) {	//重新获取票据，如果获取失败则退出程序
			cout << "失去绝区零降噪测试资格-结束程序运行" << endl;
			exit(0);
		}
		cout << "重新获得绝区零降噪测试资格-继续程序运行" << endl;
	}
	Sleep(5000);					//重新获取票据成功或服务器崩溃无法接收验证请求，则继续执行程序
}
 
int main(int argc, char* argv[]) {
	/* 启动网络库 */
	WORD wVersionRequested = MAKEWORD(1, 1);;
	WSADATA wsaData;
	int err = WSAStartup(wVersionRequested, &wsaData);
	if (err != 0) {
		perror("WSAStartup error");
	}

	client_setup();
	if (get_ticket() != 0) {	//客户获取授权
		exit(0);
	}
	do_regular_work();			//执行程序
	release_ticket();			//释放许可证明
	client_shutdown();
}

